
/**
 *	\file Definition of the nmn::interface_ base class.
 *	\author Sean Tromans
 */

#ifndef	NMN_INTERFACE_HPP
#define	NMN_INTERFACE_HPP

namespace nmn
{
	/**
	 *	Base helper class to derive from.
	 *	Defines a virtual deconstructor.
	 *	\note
	 *		Uses trailing underscore "_" to work around naming conflict with Microsofts interface keyname extension.
	 *	\author Sean Tromans
	 */
	class interface_
	{
		//
		//	Public Member Functions
		//
		public:

			/**
			 *	Virtual deconstructor.
			 *	\author Sean Tromans
			 */
			virtual ~interface_( ) { }

		//
		//	Protected Member Functions
		//
		protected:

			/**
			 *	Protected constructor to prevent instantiation.
			 *	\author Sean Tromans
			 */
			interface_( ) { }
	};
}

#endif	//NMN_INTERFACE_HPP